/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelado;

import gestion_db.db_RequisicionesM;
import gestion_db.db_clasificaciones;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author oosorio
 */
public class ComRequisicionesM {
    private Integer requisicionID;
    private String fechaEmision;   
    private String fechaRequerida; 
    private String compraNo;  
    private String fechaEnvioCuadroPrecios;
    private String observaciones;   
    private String cuentaNo; 
    private String ceco;   
    private String responsableAlmacen;  
    private String fechaAutorizacion;  
    private String estado;
    private int clasificacionID;
    private int usuarioID_Solicitante;
    private int empresaID;
    private int autorizadoID;
    
   
   /***
     * 
     */
    private String linkCargar;
    private String linkDetalle;
    private String linkAutorizar;
    private String linkCancelar;
    private String clasificacion;
    private String solicitante;
  
   
    
    public ComRequisicionesM() {
    }

    public ComRequisicionesM(Integer requisicionID) {
        this.requisicionID = requisicionID;
    }

    public ComRequisicionesM(String fechaEmision, String fechaRequerida, String compraNo, String observaciones, String clasificacion, String solicitante,int requisicionid) {
        this.fechaEmision = fechaEmision;
        this.fechaRequerida = fechaRequerida;
        this.compraNo = compraNo;
        this.observaciones = observaciones;
        this.clasificacion = clasificacion;
        this.solicitante = solicitante;
        this.requisicionID=requisicionid;
    }

    
    
    public ComRequisicionesM(Integer requisicionID, String fechaEmision, String fechaRequerida, String compraNo, String fechaEnvioCuadroPrecios, String observaciones, String cuentaNo, String ceco, String responsableAlmacen, String estado) {
        this.requisicionID = requisicionID;
        this.fechaEmision = fechaEmision;
        this.fechaRequerida = fechaRequerida;
        this.compraNo = compraNo;
        this.fechaEnvioCuadroPrecios = fechaEnvioCuadroPrecios;
        this.observaciones = observaciones;
        this.cuentaNo = cuentaNo;
        this.ceco = ceco;
        this.responsableAlmacen = responsableAlmacen;
        this.estado = estado;
    }

    public ComRequisicionesM(Integer requisicionID, String fechaEmision, String fechaRequerida, String compraNo, String fechaEnvioCuadroPrecios, String observaciones, String cuentaNo, String ceco, String responsableAlmacen, String fechaAutorizacion, String estado, int clasificacionID, int usuarioID_Solicitante, int empresaID) {
        this.requisicionID = requisicionID;
        this.fechaEmision = fechaEmision;
        this.fechaRequerida = fechaRequerida;
        this.compraNo = compraNo;
        this.fechaEnvioCuadroPrecios = fechaEnvioCuadroPrecios;
        this.observaciones = observaciones;
        this.cuentaNo = cuentaNo;
        this.ceco = ceco;
        this.responsableAlmacen = responsableAlmacen;
        this.fechaAutorizacion = fechaAutorizacion;
        this.estado = estado;
        this.clasificacionID = clasificacionID;
        this.usuarioID_Solicitante = usuarioID_Solicitante;
        this.empresaID = empresaID;
    }

    public ComRequisicionesM(Integer requisicionID, String fechaEmision, String fechaRequerida, String compraNo, String fechaEnvioCuadroPrecios, String observaciones, String cuentaNo, String ceco, String responsableAlmacen, String fechaAutorizacion, String estado, int clasificacionID, int usuarioID_Solicitante, int empresaID, int autorizadoID, String linkCargar, String linkDetalle, String linkAutorizar, String linkCancelar, String clasificacion, String solicitante) {
        this.requisicionID = requisicionID;
        this.fechaEmision = fechaEmision;
        this.fechaRequerida = fechaRequerida;
        this.compraNo = compraNo;
        this.fechaEnvioCuadroPrecios = fechaEnvioCuadroPrecios;
        this.observaciones = observaciones;
        this.cuentaNo = cuentaNo;
        this.ceco = ceco;
        this.responsableAlmacen = responsableAlmacen;
        this.fechaAutorizacion = fechaAutorizacion;
        this.estado = estado;
        this.clasificacionID = clasificacionID;
        this.usuarioID_Solicitante = usuarioID_Solicitante;
        this.empresaID = empresaID;
        this.autorizadoID = autorizadoID;
        this.linkCargar = linkCargar;
        this.linkDetalle = linkDetalle;
        this.linkAutorizar = linkAutorizar;
        this.linkCancelar = linkCancelar;
        this.clasificacion = clasificacion;
        this.solicitante = solicitante;
    }

    public ComRequisicionesM(Integer requisicionID, String observaciones, String cuentaNo) {
        this.requisicionID = requisicionID;
        this.observaciones = observaciones;
        this.cuentaNo = cuentaNo;
    }
    
    
    
    public ArrayList requisicionesMAutorizadasList(){

       ArrayList arry = null;
      db_RequisicionesM db=new db_RequisicionesM();
        String strSQL="select compraNo, fechaEmision, FechaRequerida, observaciones, b.NombreCompleto as Solicitante,c.nombre as Clasificacion,a.requisicionID " +
            " from com_requisicionesm as a " +
            " left join com_usuarios as b " + 
            "    ON a.UsuarioID_Solicitante=b.UsuarioID " +
            " left join com_clasificaciones as c " +
            "   On a.clasificacionID=c.ClasificacionID " +
            " where a.estado='AUTORIZADO'";
        arry=db.ObtenerResultSet(strSQL);
     return arry;
}
    
public String actualizar() throws SQLException{
        String msj;
        db_RequisicionesM dbent = new db_RequisicionesM();
        String consulta_sql = "UPDATE com_requisicionesm SET "+ 
                " FechaRequerida='"+ this.fechaRequerida+"',"+
              //" CompraNo='" + this.compraNo + "', "+
                " Observaciones='" + this.observaciones +"',"+
                " CuentaNo='" + this.cuentaNo +"',"+
                " Ceco='" + this.ceco +"',"+
                " ResponsableAlmacen='" + this.responsableAlmacen+ "',"+
                " ClasificacionID="+this.clasificacionID +
                " WHERE requisicionid="+ this.getRequisicionID();
            //this.empresaID+",'" + this.fechaRequerida +"','" + this.compraNo+"',current_timestamp,'"+this.observaciones+"'," + this.clasificacionID + ",'" + this.cuentaNo+"','" + this.ceco+"','" + this.responsableAlmacen+"',"+this.usuarioID_Solicitante+")"; 
                //+ "insert into Libro values(" + this.Id_Libro + ", '" + this.Titulo + "', " + this.Cod_Ed + " , '" + this.ISBN + "');";
        msj = dbent.EjecutarStatement(consulta_sql);
        
        consulta_sql="call sp_com_inserta_seguimiento (" + this.requisicionID+ ",'REQUISICION'," + this.usuarioID_Solicitante +",'SE HAN REALIZADO CAMBIOS EN EL ENCABEZADO DE LA SOLICITUD ')";
        msj = dbent.EjecutarStatement(consulta_sql);
        return msj;
 }



    public ArrayList requisicionesMList(int ndias){
    ArrayList arry = new ArrayList();
      db_RequisicionesM db=new db_RequisicionesM();
      String strSQL="call sp_com_requisicionesM_list("+this.empresaID+",30)";
    // arry=db.ObtenerResultSet(strSQL);
     return arry;
    
    }
    
    public String autorizar() throws SQLException{
        String msj;
        db_RequisicionesM dbent = new db_RequisicionesM();
        String consulta_sql = "call sp_com_autorizar("+ this.autorizadoID+"," + this.requisicionID +",'REQUISICION','AUTORIZAR')";
            
                //+ "insert into Libro values(" + this.Id_Libro + ", '" + this.Titulo + "', " + this.Cod_Ed + " , '" + this.ISBN + "');";
        msj = dbent.EjecutarStatement(consulta_sql);
        return consulta_sql;
    
    }
    
    
    public String cancelar() throws SQLException{
        String msj;
        db_RequisicionesM dbent = new db_RequisicionesM();
        String consulta_sql = "call sp_com_autorizar("+ this.autorizadoID+"," + this.requisicionID +",'REQUISICION','CANCELAR')";
            
                //+ "insert into Libro values(" + this.Id_Libro + ", '" + this.Titulo + "', " + this.Cod_Ed + " , '" + this.ISBN + "');";
        msj = dbent.EjecutarStatement(consulta_sql);
        return consulta_sql;
    
    }
    
    
     public String insertar() throws SQLException{
        String msj;
        db_RequisicionesM dbent = new db_RequisicionesM();
        String consulta_sql = "INSERT INTO com_requisicionesm(empresaID, FechaRequerida, CompraNo, FechaEnvioCuadroPrecios, observaciones, clasificacionID, CuentaNo, Ceco, ResponsableAlmacen, UsuarioID_Solicitante) VALUES(" +
            this.empresaID+",'" + this.fechaRequerida +"','" + this.compraNo+"',current_timestamp,'"+this.observaciones+"'," + this.clasificacionID + ",'" + this.cuentaNo+"','" + this.ceco+"','" + this.responsableAlmacen+"',"+this.usuarioID_Solicitante+")"; 
                //+ "insert into Libro values(" + this.Id_Libro + ", '" + this.Titulo + "', " + this.Cod_Ed + " , '" + this.ISBN + "');";
        msj = dbent.EjecutarStatement(consulta_sql);
        return msj;
 }

     public ArrayList clasificacionesList(){
      ArrayList arry;
      db_clasificaciones db=new db_clasificaciones();
      String strSQL="SELECT clasificacionID, codigo,nombre from com_clasificaciones";
     arry=db.ObtenerResultSet(strSQL);
     return arry;
     }

     
    public String getClasificacion() {
        return clasificacion;
    }

    public void setClasificacion(String clasificacion) {
        this.clasificacion = clasificacion;
    }

    public String getLinkAutorizar() {
        return linkAutorizar;
    }

    public void setLinkAutorizar(String linkAutorizar) {
        this.linkAutorizar = linkAutorizar;
    }

    public String getLinkCancelar() {
        return linkCancelar;
    }

    public void setLinkCancelar(String linkCancelar) {
        this.linkCancelar = linkCancelar;
    }

    public String getLinkCargar() {
        return linkCargar;
    }

    public void setLinkCargar(String linkCargar) {
        this.linkCargar = linkCargar;
    }

    public String getLinkDetalle() {
        return linkDetalle;
    }

    public void setLinkDetalle(String linkDetalle) {
        this.linkDetalle = linkDetalle;
    }

    public String getSolicitante() {
        return solicitante;
    }

    public void setSolicitante(String solicitante) {
        this.solicitante = solicitante;
    }

     
     
    public int getAutorizadoID() {
        return autorizadoID;
    }

    public void setAutorizadoID(int autorizadoID) {
        this.autorizadoID = autorizadoID;
    }
     
     
    public int getClasificacionID() {
        return clasificacionID;
    }

    public void setClasificacionID(int clasificacionID) {
        this.clasificacionID = clasificacionID;
    }

    public int getEmpresaID() {
        return empresaID;
    }

    public void setEmpresaID(int empresaID) {
        this.empresaID = empresaID;
    }

    public int getUsuarioID_Solicitante() {
        return usuarioID_Solicitante;
    }

    public void setUsuarioID_Solicitante(int usuarioID_Solicitante) {
        this.usuarioID_Solicitante = usuarioID_Solicitante;
    }
    
    public Integer getRequisicionID() {
        return requisicionID;
    }

    public void setRequisicionID(Integer requisicionID) {
        this.requisicionID = requisicionID;
    }

    public String getFechaEmision() {
        return fechaEmision;
    }

    public void setFechaEmision(String fechaEmision) {
        this.fechaEmision = fechaEmision;
    }

    public String getFechaRequerida() {
        return fechaRequerida;
    }

    public void setFechaRequerida(String fechaRequerida) {
        this.fechaRequerida = fechaRequerida;
    }

    public String getCompraNo() {
        return compraNo;
    }

    public void setCompraNo(String compraNo) {
        this.compraNo = compraNo;
    }

    public String getFechaEnvioCuadroPrecios() {
        return fechaEnvioCuadroPrecios;
    }

    public void setFechaEnvioCuadroPrecios(String fechaEnvioCuadroPrecios) {
        this.fechaEnvioCuadroPrecios = fechaEnvioCuadroPrecios;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public String getCuentaNo() {
        return cuentaNo;
    }

    public void setCuentaNo(String cuentaNo) {
        this.cuentaNo = cuentaNo;
    }

    public String getCeco() {
        return ceco;
    }

    public void setCeco(String ceco) {
        this.ceco = ceco;
    }

    public String getResponsableAlmacen() {
        return responsableAlmacen;
    }

    public void setResponsableAlmacen(String responsableAlmacen) {
        this.responsableAlmacen = responsableAlmacen;
    }

    public String getFechaAutorizacion() {
        return fechaAutorizacion;
    }

    public void setFechaAutorizacion(String fechaAutorizacion) {
        this.fechaAutorizacion = fechaAutorizacion;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    
}
